基本规则效果
- 将视频页中模板匹配的部分去掉,重新修改分类器。针对57个视频站点,选取了15000个网页,准确率93.3%,召回率82.0%。
- 调研广告内容识别。
例外规则
@@
匹配网址开头/结尾
swf|
会阻挡swf结尾的
|http://example.com
会阻挡以这些开头的
||example.com/banner.gif
会阻挡所有http://example.com
或者https://www.example.com
标记分隔符
^
是分隔符,除字母、数字或者_-.%
之外的任何字符。
http://example.com:8000/foo.bar?a=12&b=%D1%82%D0%B5%D1%81%D1%82
可以通过^example^
或者^%D1%82%D0%B5%D1%81%D1%82^
或者^foo.bar^
来过滤。
注释
!
开始的是注释
特殊注释用来设置参数。
Adblock Plus的过滤列表分为两种:
加载时,拦截的url
根据url拦截HTTP请求的,不返回数据。
例子:
1234||baidu.com/adver?/js/jsstyle-$third-party/js/mob/cpc_bottom.js/qqliveweb/*.swf加载后,隐藏的elements
网页加载后,匹配elements(如div)的id或class,命中则改
display
属性。12345###body > #right-promotion###bottomAD##.listok > a > img[style^="width:980px;height:"]##.loc-home-top-adv-new##a[href*=".yyk2.com/"]
我们可以利用的部分:
拦截url部分
这个部分我们可以匹配
<img>
的src
属性、<a>
的href
属性等正则匹配,命中则标记为广告。隐藏elements部分
可以在遍历
<div>
标签时,匹配id
和class
属性。
需要解决的问题
匹配速度
精选过滤列表
可以抽取一部分页面来匹配,统计过滤列表的命中数,筛选高频规则。
对复杂规则的解析
ABP中包括了
options
,比如是否是script
加载,是否是img
,是否同源等。ABP中包括了一些否定的情况。